/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.cursojava.client.dao.livro;

import br.com.cursojava.server.bd.ConexaoPostgres;
import com.extjs.gxt.ui.client.store.ListStore;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import java.util.Vector;

/**
 *
 * @author p1520009
 */
public class LivroDAO {

    private static ListStore<LivroTGWT> lista;
    private GWTServiceLivroAsync service = GWT.create(GWTServiceLivro.class);
    private String msg;
    private boolean resultado = false;
    
    public void consultarLivro() {
        AsyncCallback<Vector<LivroTGWT>> callback = new AsyncCallback<Vector<LivroTGWT>>() {
        
            @Override
            public void onFailure(Throwable caught) {
                msg = caught.getMessage();
                resultado = false;
       }

            @Override
            public void onSuccess(Vector<LivroTGWT> result) {
                lista = new ListStore<LivroTGWT>();
                for (LivroTGWT clienteTGWT : result) {
                    lista.add(clienteTGWT);
    }
                resultado = true;
            }
        };
        service.consultarLivros(callback);
    }

    public void inserir(LivroTGWT livroTGWT) {
       AsyncCallback<Boolean> callback = new AsyncCallback<Boolean>() {
       
            @Override
            public void onFailure(Throwable caught) {
                msg = caught.getMessage();
        resultado = false;
    }

            @Override
            public void onSuccess(Boolean result) {
                msg = "Livro cadastrado com sucesso!";
                resultado = true;
            }
        };
        resultado = false;
        service.inserir(livroTGWT, callback);
    }

    /**
     * @return the lista
     */
    public ListStore<LivroTGWT> getLista() {
        if (lista == null){
            lista = new ListStore<LivroTGWT>();
        }
        return lista;
    }



}

